import request from '@/utils/request'

/**
 * 获取订单列表
 * @param {Object} query 查询参数
 * @param {Number} query.page 页码，默认1
 * @param {Number} query.limit 每页数据量，默认1
 * @returns {Promise}
 */
export function fetchOrderList(query) {
  return request({
    url: '/api/order/list',
    method: 'post',
    data: query
  })
}

/**
 * 获取订单详情
 * @param {Number} trade_no 订单号
 * @returns {Promise}
 */
export function fetchOrderInfo(trade_no) {
  console.log('fetchOrderInfo 调用，参数 trade_no:', trade_no)
  const requestData = { trade_no }
  console.log('请求数据:', requestData)

  return request({
    url: '/api/order/info',
    method: 'post',
    data: requestData
  })
}

/**
 * 删除订单
 * @param {Array} trade_nos 订单号数组，支持批量删除
 * @returns {Promise}
 */
export function deleteOrder(data) {
  return request({
    url: '/api/order/del',
    method: 'post',
    data
  })
}

/**
 * 订单操作
 * @param {Object} params 操作参数
 * @param {String} params.trade_nos 订单号，多个用逗号隔开
 * @param {Number} params.operate 操作类型：1-备注, 2-已绑定, 3-已完成, 4-垃圾桶, 5-移入黑名单
 * @param {String} params.remark 备注内容(操作类型为1时必填)
 * @returns {Promise}
 */
export function operateOrder(params) {
  return request({
    url: '/api/order/operate',
    method: 'post',
    data: params
  })
}

/**
 * 订单导出
 * @param {Object} params 导出参数
 * @param {Number} params.export_type 导出类型：0=全部, 1=等待送审, 2=审批通过, 3=已绑定, 4=已完成, 5=垃圾桶, 6=黑名单
 * @param {String} params.trade_nos 订单号，多个用逗号隔开
 * @returns {Promise}
 */
export function exportOrder(params) {
  return request({
    url: '/api/order/export',
    method: 'post',
    data: params
  })
}

/**
 * 移除黑名单
 * @param {Array} trade_nos 订单号数组
 * @returns {Promise}
 */
export function removeBlacklist(trade_nos) {
  return request({
    url: '/api/order/rmblacklist',
    method: 'post',
    data: { trade_nos }
  })
}

// 模拟置顶接口
export function pinOrder(trade_nos) {
  const payload = Array.isArray(trade_nos) ? { trade_nos: trade_nos.join(',') } : { trade_nos }
  return request({
    url: '/api/order/pinTop',
    method: 'post',
    data: payload
  })
}

